<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>SMAP海洋表面盐度（SSS）数据可视化——Python实现 | 洛沐の人间客栈</title><meta name="keywords" content="Python卫星数据处理"><meta name="author" content="洛沐,guojiaxiang0820@gmail.com"><meta name="copyright" content="洛沐"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="本文利用Python对Smap海表盐度（SSS）数据进行绘图，绘制出全球海表盐度随时间和区域变化图，附有动态视频。">
<meta property="og:type" content="article">
<meta property="og:title" content="SMAP海洋表面盐度（SSS）数据可视化——Python实现">
<meta property="og:url" content="https://www.guojxblog.cn/archives/b9d5eb5f.html">
<meta property="og:site_name" content="洛沐の人间客栈">
<meta property="og:description" content="本文利用Python对Smap海表盐度（SSS）数据进行绘图，绘制出全球海表盐度随时间和区域变化图，附有动态视频。">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/loli.jpg">
<meta property="article:published_time" content="2023-03-25T15:24:50.000Z">
<meta property="article:modified_time" content="2023-07-31T15:09:40.843Z">
<meta property="article:author" content="洛沐">
<meta property="article:tag" content="Python卫星数据处理">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/loli.jpg"><link rel="shortcut icon" href="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/RS_icon.jpg"><link rel="canonical" href="https://www.guojxblog.cn/archives/b9d5eb5f"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta name="baidu-site-verification" content="code-zGPrfnFp7y"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
  noticeOutdate: {"limitDay":180,"position":"top","messagePrev":"此文中创建于","messageNext":"天之前，请以最新文章为准！"},
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":500},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: true
  },
  runtime: '',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: {"limitCount":50,"languages":{"author":"作者: 洛沐","link":"链接: ","source":"来源: 洛沐の人间客栈","info":"著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。"}},
  lightbox: 'mediumZoom',
  Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#49b1f5","bgDark":"#1f1f1f","position":"bottom-left"},
  source: {
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css'
    }
  },
  isPhotoFigcaption: true,
  islazyload: false,
  isAnchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'SMAP海洋表面盐度（SSS）数据可视化——Python实现',
  isPost: true,
  isHome: false,
  isHighlightShrink: false,
  isToc: true,
  postUpdate: '2023-07-31 23:09:40'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          const now = new Date()
          const hour = now.getHours()
          const isNight = hour <= 6 || hour >= 18
          if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
          else if (t === 'light') activateLightMode()
          else activateDarkMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><link rel="stylesheet" href="/css/style.css"><link rel="stylesheet" href="/css/iconfont.css"><link rel="stylesheet" href="/css/font-awesome.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/sviptzk/StaticFile_HEXO@latest/butterfly/css/macblack.css"><script src="/live2d-widget/autoload.js"></script><meta name="generator" content="Hexo 6.1.0"></head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/touxiang.jpeg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data is-center"><div class="data-item"><a href="/archives/"><div class="headline">文章</div><div class="length-num">29</div></a></div><div class="data-item"><a href="/tags/"><div class="headline">标签</div><div class="length-num">18</div></a></div><div class="data-item"><a href="/categories/"><div class="headline">分类</div><div class="length-num">7</div></a></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa fa-graduation-cap"></i><span> 文章</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/archives/"><i class="fa-fw fa fa-folder-open"></i><span> 归档</span></a></li><li><a class="site-page child" href="/categories/"><i class="fa-fw fa fa-archive"></i><span> 分类</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></li></ul></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa-solid fa-heart-pulse"></i><span> 生活</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/books/"><i class="fa-fw fas fa-book-reader"></i><span> 读书</span></a></li><li><a class="site-page child" href="/photos/"><i class="fa-fw fa fa-camera-retro"></i><span> 相册</span></a></li><li><a class="site-page child" href="/music/"><i class="fa-fw fa fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 影视</span></a></li></ul></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa-solid fa-keyboard"></i><span> 动态</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/comment/"><i class="fa-fw fa fa-paper-plane"></i><span> 留言</span></a></li><li><a class="site-page child" href="/notes/"><i class="fa-fw fas fa-feather-alt"></i><span> 随笔</span></a></li><li><a class="site-page child" href="/ideas/"><i class="fa-fw fa-solid fa-lightbulb"></i><span> 妙想</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/loli.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">洛沐の人间客栈</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa fa-graduation-cap"></i><span> 文章</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/archives/"><i class="fa-fw fa fa-folder-open"></i><span> 归档</span></a></li><li><a class="site-page child" href="/categories/"><i class="fa-fw fa fa-archive"></i><span> 分类</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></li></ul></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa-solid fa-heart-pulse"></i><span> 生活</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/books/"><i class="fa-fw fas fa-book-reader"></i><span> 读书</span></a></li><li><a class="site-page child" href="/photos/"><i class="fa-fw fa fa-camera-retro"></i><span> 相册</span></a></li><li><a class="site-page child" href="/music/"><i class="fa-fw fa fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 影视</span></a></li></ul></div><div class="menus_item"><a class="site-page group hide" href="javascript:void(0);" rel="external nofollow noreferrer"><i class="fa-fw fa-solid fa-keyboard"></i><span> 动态</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/comment/"><i class="fa-fw fa fa-paper-plane"></i><span> 留言</span></a></li><li><a class="site-page child" href="/notes/"><i class="fa-fw fas fa-feather-alt"></i><span> 随笔</span></a></li><li><a class="site-page child" href="/ideas/"><i class="fa-fw fa-solid fa-lightbulb"></i><span> 妙想</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">SMAP海洋表面盐度（SSS）数据可视化——Python实现</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2023-03-25T15:24:50.000Z" title="发表于 2023-03-25 23:24:50">2023-03-25</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-07-31T15:09:40.843Z" title="更新于 2023-07-31 23:09:40">2023-07-31</time></span><span class="post-meta-categories"><span class="post-meta-separator">|</span><i class="fas fa-inbox fa-fw post-meta-icon"></i><a class="post-meta-categories" href="/categories/%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81/">程序代码</a></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-wordcount"><i class="far fa-file-word fa-fw post-meta-icon"></i><span class="post-meta-label">字数总计:</span><span class="word-count">5.5k</span><span class="post-meta-separator">|</span><i class="far fa-clock fa-fw post-meta-icon"></i><span class="post-meta-label">阅读时长:</span><span>28分钟</span></span><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="SMAP海洋表面盐度（SSS）数据可视化——Python实现"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">阅读量:</span><span id="busuanzi_value_page_pv"></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><h1 id="数据介绍：SMAP-海洋表面盐度（SSS）数据"><a href="#数据介绍：SMAP-海洋表面盐度（SSS）数据" class="headerlink" title="数据介绍：SMAP 海洋表面盐度（SSS）数据"></a>数据介绍：SMAP 海洋表面盐度（SSS）数据</h1><p>从海面发出的能量，以开尔文为单位测量等效的“亮度”温度。为实现任务的科学目标，水瓶座探测到亮度温度的变化约为 0.1 开尔文。这是通过仔细的仪器设计（例如，热控制）、数据平均以及避免和&#x2F;或减轻污染源（例如来自太阳的辐射）来实现的。下面概述的要素是使这种极具挑战性的测量成为可能的关键。</p>
<h2 id="轨道设计："><a href="#轨道设计：" class="headerlink" title="轨道设计："></a>轨道设计：</h2><p>Aquarius 数据条带的可视化，在 7 天重复的太阳同步轨道上，在其下降过程中于上午 6:00 穿过赤道。它不断地在昼&#x2F;夜终结者的暗面采样，以最大限度地减少反射辐射和阳光闪烁（即反向散射）。<br>Aquarius 数据条带（左侧）在 7 天内的可视化侧重于地球某一部分的连续数据条带。三个单独的光束由一个宽椭圆表示，总光束为 390 公里（242 英里）。尽管实际的条带以连续的带状收集数据，但每个椭圆形都以 1 分钟的间隔显示足迹。</p>
<p>图1 SMAP卫星轨道示意图</p>
<h2 id="相同的辐射计："><a href="#相同的辐射计：" class="headerlink" title="相同的辐射计："></a>相同的辐射计：</h2><p>三个机载辐射计共用一个直径为 2.5 米（8.2 英尺）的天线反射器。三台辐射计一起连续拍摄了一条 390 公里（242 英里）的幅面，大致垂直于天文台的航向。</p>
<h2 id="快速采样："><a href="#快速采样：" class="headerlink" title="快速采样："></a>快速采样：</h2><p>Aquarius 辐射计快速采样（即每个数据样本 10 微秒），以帮助检测和减轻射频干扰 (RFI)。具有讽刺意味的是，RFI对 Aquarius 来说是一个不应该存在的问题，因为它的辐射计工作在一个以 1.41 GHz 为中心的频段，这对射电天文学来说是“受保护的”。使用这个频率使水瓶座能够检测到从地球表面自然发出的小亮度温度信号。然而，即使是来自通信和空中交通管制雷达等人造来源的非常微弱的带外信号，也可能压倒 Aquarius 旨在测量的自然信号。</p>
<h2 id="极化测量："><a href="#极化测量：" class="headerlink" title="极化测量："></a>极化测量：</h2><p>Aquarius 辐射计测量了地球表面自然 L 波段发射的垂直和水平极化。第三个斯托克斯参数是这两种极化之间的相关性。所述第三斯托克斯参数被用于校正法拉第旋转，在发生在电离层，波从地球表面和到达卫星仪器之前传播之后的电磁辐射的偏振方向的变化。</p>
<h2 id="海洋粗糙度校正："><a href="#海洋粗糙度校正：" class="headerlink" title="海洋粗糙度校正："></a>海洋粗糙度校正：</h2><p>Aquarius 有一个机载散射计，其占地面积与其辐射计相同。散射计通过向地球表面发射微波能量脉冲并测量反射能量（称为反向散射）来工作。<br>一般来说，较粗糙的海洋条件会比光滑、反射性更强的镜面海洋表面散射更多的能量。因此，散射计数据可以帮助修正海洋表面粗糙度，这是水瓶座盐度测量的最大误差来源。<br>数据集中涵盖了从 11 年 8 月 25 日到 15 年 6 月 7 日的完整 45 个月的 Aquarius 科学数据可用性。提高水瓶座测量的准确性是确保数据对科学和社会最有用的一项关键活动。科学家和工程师共同测试和改进算法——或计算的分步程序——用于处理宝瓶座的海洋表面盐度数据。V5 数据代表了盐度遥感方面的最新技术，虽然 Aquarius 项目已经结束，但原始数据可用，并且计划继续进行改进。</p>
<h2 id="处理步骤："><a href="#处理步骤：" class="headerlink" title="处理步骤："></a>处理步骤：</h2><p>图2 SMAP数据反演SSS处理流程</p>
<h2 id="改进的地理校正："><a href="#改进的地理校正：" class="headerlink" title="改进的地理校正："></a>改进的地理校正：</h2><p>V4.0 中的地表以 1&#x2F;8° 分辨率导出。在 V3.0 中，地表分辨率的空间分辨率为 ½°。用于推导 V4.0 中地表的地表亮温 (TB) 基于 SMAP 陆地 TB 测量的月气候学。在 V3.0 中，地表 TB 基于地表排放模型。</p>
<h2 id="修改后的海冰掩膜和标志："><a href="#修改后的海冰掩膜和标志：" class="headerlink" title="修改后的海冰掩膜和标志："></a>修改后的海冰掩膜和标志：</h2><p>V4.0 中的海冰掩码取自遥感系统 (RSS) AMSR-2 海冰地图。在 V3.0 中，海冰掩码来自国家环境预测中心 (NCEP)。V4.0 中的海冰排除阈值已更改为 gice &gt;0.003。这个阈值在 V3.0 中是 gice &gt;0.001。<br>对于 NASA&#x2F;RSS Aquarius 盐度反演至 V4 和 RSS SMAP 盐度反演至 V3（包括 V3），来自 NCEP 的每日海冰掩膜用作辅助场。布鲁克等人。(2014) 和 Dinnat 和 Brucker (2016) 发现 NCEP 海冰面罩在一些情况下是不切实际的。因此，在 Aquarius 第 5 版任务发布结束时，实施了来自特殊传感器微波成像仪 (SSMI) 和 EOS 上的高级微波扫描辐射计 (AMSR-2) 的海冰面罩，而不是 NCEP 海冰面罩。 ## 空间分辨率和空间响应函数：<br>V4.0 盐度检索算法仅在 0.25°地球网格上使用 40 公里空间分辨率巴科斯吉尔伯特最佳插值 (OI) 运行。由此产生的盐度产品称为 sss_smap_40km。从这个 40 公里的产品中，使用简单的下一个邻居平均得出空间分辨率约为 70 公里的平滑产品（称为 sss_smap）。这个平滑的 70 公里 sss_smap 将被视为默认（标准）盐度产品。在 V4 中，sss_smap 和 sss_smap_40km 在同一个文件中提供。</p>
<h2 id="经验不确定性估计："><a href="#经验不确定性估计：" class="headerlink" title="经验不确定性估计："></a>经验不确定性估计：</h2><p>3 级文件中为 sss_smap 提供了经验不确定性估计 sss_smap_uncertainty。这种不确定性基于 SMAP 和 Scripps Argo 插值场之间的比较。这还包括 Argo 数据在网格地图比例尺上的采样误差，以及制图误差。</p>
<h2 id="参考文献："><a href="#参考文献：" class="headerlink" title="参考文献："></a>参考文献：</h2><ul>
<li>Dennat, E. 和 Brucker, L.（2016 年）。通过水瓶座辐射计改进 L 波段观测的海冰分数表征，IEEE 地球科学和遥感汇刊，doi：10.1109&#x2F;TGRS.2016.2622011。</li>
<li>Meissner, T.、Wentz, FJ 和 Le Vine, DM (2017)。Aquarius 盐度检索算法理论基础文件 (ATBD)，任务版本结束；RSS技术报告120117；2017 年 12 月 1 日。在线提供。</li>
<li>Meissner, T.、Wentz, FJ 和 Le Vine, DM (2018)。NASA Aquarius 第 5 版和 SMAP 第 3 版的盐度检索算法，遥感 10, 1121, doi: 10.3390&#x2F;rs10071121。<br>温茨等人。(2014)。0.25 度网格上的遥感系统 GCOM-W1 AMSR2 日常环境套件，版本 8。可在线获取。<blockquote>
<p>以上资料翻译自NASA官网，具体请参考<a target="_blank" rel="noopener external nofollow noreferrer" href="https://salinity.oceansciences.org/home.htm">官网</a> 简介。</p>
</blockquote>
<h1 id="Python代码与注释详解："><a href="#Python代码与注释详解：" class="headerlink" title="Python代码与注释详解："></a>Python代码与注释详解：</h1><p>处理NASA SMAP海表盐度分析海表盐度随时间和区域变化；<br>下载2020&#x2F;01-2021&#x2F;09 SMAP Salinity V4 data<br><a target="_blank" rel="noopener external nofollow noreferrer" href="https://salinity.oceansciences.org/home.htm%EF%BC%9B">https://salinity.oceansciences.org/home.htm；</a><br>制作逐月全球海表盐度图并保存；</p>
<blockquote>
<p>制作图展示海表盐度分析海表盐度随时间和区域变化代码展示</p>
</blockquote>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> netCDF4 <span class="keyword">as</span> nc</span><br><span class="line"><span class="keyword">import</span> numpy <span class="keyword">as</span> np</span><br><span class="line"><span class="keyword">import</span> matplotlib.pyplot <span class="keyword">as</span> plt</span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> matplotlib <span class="keyword">as</span> mpl</span><br><span class="line"><span class="keyword">from</span> matplotlib <span class="keyword">import</span> cm</span><br><span class="line"><span class="keyword">from</span> mpl_toolkits.basemap <span class="keyword">import</span> Basemap</span><br><span class="line"><span class="keyword">from</span> matplotlib.colors <span class="keyword">import</span> LinearSegmentedColormap</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="comment"># np.set_printoptions(threshold=np.inf)</span></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">data_process</span>(<span class="params">file</span>):</span><br><span class="line">    dataset = nc.Dataset(file)</span><br><span class="line">    <span class="comment"># print(dataset)</span></span><br><span class="line">    lon = (dataset.variables[<span class="string">&#x27;lon&#x27;</span>][:])</span><br><span class="line">    lat = (dataset.variables[<span class="string">&#x27;lat&#x27;</span>][:])</span><br><span class="line">    sss = np.array(dataset.variables[<span class="string">&#x27;sss_smap&#x27;</span>][:])</span><br><span class="line">    <span class="comment"># sss[np.where(sss == -9999)] = 0</span></span><br><span class="line">    sss[np.where(sss &gt;= <span class="number">0</span>) <span class="keyword">and</span> (sss &lt; <span class="number">33</span>)] = <span class="number">33</span></span><br><span class="line">    sss[np.where(sss &gt; <span class="number">38</span>)] = <span class="number">38</span></span><br><span class="line">    valid_values = np.where(sss &gt; <span class="number">0</span>)</span><br><span class="line">    sss_min = np.<span class="built_in">round</span>(np.<span class="built_in">min</span>(sss[valid_values]))</span><br><span class="line">    sss_mean = np.<span class="built_in">round</span>(np.mean(sss[valid_values]))</span><br><span class="line">    sss_max = np.<span class="built_in">round</span>(np.<span class="built_in">max</span>(sss[valid_values]))</span><br><span class="line">    <span class="built_in">print</span>(sss[valid_values], sss_min, sss_mean, sss_max)</span><br><span class="line">    <span class="comment"># print(lon.shape, lat.shape, sss.shape)</span></span><br><span class="line">    <span class="keyword">return</span> lon, lat, sss</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">draw_sss_fig</span>(<span class="params">file</span>):</span><br><span class="line">    lon, lat, sss = data_process(file)</span><br><span class="line">    lx, ly = np.meshgrid(lon, lat)</span><br><span class="line">    <span class="comment"># sss = np.flip(sss, 1)</span></span><br><span class="line">    <span class="built_in">map</span> = Basemap(projection=<span class="string">&#x27;ortho&#x27;</span>, resolution=<span class="string">&#x27;c&#x27;</span>,</span><br><span class="line">                  lat_0=<span class="number">0</span>, lon_0=l)</span><br><span class="line">    <span class="built_in">map</span>.drawmapboundary()</span><br><span class="line">    <span class="built_in">map</span>.fillcontinents(color=<span class="string">&#x27;darkgray&#x27;</span>, lake_color=<span class="string">&#x27;aqua&#x27;</span>)</span><br><span class="line">    <span class="built_in">map</span>.drawstates(linewidth=<span class="number">0.25</span>)</span><br><span class="line">    <span class="built_in">map</span>.drawcoastlines(linewidth=<span class="number">0.25</span>)</span><br><span class="line">    <span class="built_in">map</span>.drawmeridians(np.arange(-<span class="number">180.</span>, <span class="number">181.</span>, <span class="number">10.</span>), labels=[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>], fontsize=<span class="number">12</span>, linestyle=<span class="string">&#x27;-.&#x27;</span>, color=<span class="string">&#x27;k&#x27;</span>,</span><br><span class="line">                      linewidth=<span class="number">0.5</span>)</span><br><span class="line">    <span class="built_in">map</span>.drawparallels(np.arange(-<span class="number">90.</span>, <span class="number">91.</span>, <span class="number">10.</span>), labels=[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>], fontsize=<span class="number">12</span>, linestyle=<span class="string">&#x27;-.&#x27;</span>, color=<span class="string">&#x27;k&#x27;</span>,</span><br><span class="line">                      linewidth=<span class="number">0.5</span>)</span><br><span class="line">    x, y = <span class="built_in">map</span>(lx, ly)</span><br><span class="line">    <span class="comment"># plt.figure(&#x27;Show SSS&#x27;)</span></span><br><span class="line">    lvls = np.linspace(<span class="number">33.</span>, <span class="number">38.</span>, <span class="number">300</span>)</span><br><span class="line">    show_sss = <span class="built_in">map</span>.contourf(x, y, sss, alpha=<span class="number">1.0</span>, cmap=plt.cm.turbo, levels=lvls)</span><br><span class="line">    plt.imshow(sss)</span><br><span class="line">    cbar = <span class="built_in">map</span>.colorbar(show_sss, <span class="string">&#x27;bottom&#x27;</span>, ticks=np.arange(<span class="number">33.</span>, <span class="number">38.1</span>, <span class="number">1.0</span>), <span class="built_in">format</span>=<span class="string">&#x27;%.1f&#x27;</span>, pad=<span class="string">&#x27;10%&#x27;</span>)</span><br><span class="line">    cbar.ax.tick_params(labelsize=<span class="number">12</span>)</span><br><span class="line">    font = &#123;<span class="string">&#x27;weight&#x27;</span>: <span class="string">&#x27;normal&#x27;</span>, <span class="string">&#x27;size&#x27;</span>: <span class="number">16</span>&#125;</span><br><span class="line">    <span class="comment"># plt.text(&#x27;Center:(0,180)&#x27;, fontsize=12, verticalalignment=&#x27;bottom&#x27;, horizontalalignment=&#x27;center&#x27;)</span></span><br><span class="line">    plt.title(<span class="string">&#x27;Global Sea Surface Salinity &#x27;</span> + j, font=font, y=<span class="number">1.02</span>)</span><br><span class="line">    plt.savefig(output_path + k + <span class="built_in">str</span>(l) + <span class="string">&#x27;.jpg&#x27;</span>, dpi=<span class="number">600</span>)</span><br><span class="line">    plt.show()</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">&#x27;__main__&#x27;</span>:</span><br><span class="line">    postfix = <span class="string">&#x27;.nc&#x27;</span></span><br><span class="line">    <span class="comment"># &#x27;2020_01&#x27;, &#x27;2020_02&#x27;, &#x27;2020_03&#x27;, &#x27;2020_04&#x27;, &#x27;2020_05&#x27;, &#x27;2020_06&#x27;, &#x27;2020_07&#x27;, &#x27;2020_08&#x27;, &#x27;2020_09&#x27;,</span></span><br><span class="line">    <span class="comment"># &#x27;2020_10&#x27;, &#x27;2020_11&#x27;, &#x27;2020_12&#x27;, &#x27;2021_01&#x27;, &#x27;2021_02&#x27;,</span></span><br><span class="line">    prefix = [<span class="string">&#x27;2021_03&#x27;</span>, <span class="string">&#x27;2021_04&#x27;</span>, <span class="string">&#x27;2021_05&#x27;</span>, <span class="string">&#x27;2021_06&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2021_07&#x27;</span>, <span class="string">&#x27;2021_08&#x27;</span>, <span class="string">&#x27;2021_09&#x27;</span>]</span><br><span class="line">    <span class="comment"># &#x27;Jan.2020&#x27;, &#x27;Feb.2020&#x27;, &#x27;Mar.2020&#x27;, &#x27;Apr.2020&#x27;, &#x27;May.2020&#x27;, &#x27;Jun.2020&#x27;, &#x27;Jul.2020&#x27;, &#x27;Aug.2020&#x27;,</span></span><br><span class="line">    <span class="comment"># &#x27;Sept.2020&#x27;, &#x27;Oct.2020&#x27;, &#x27;Nov.2020&#x27;, &#x27;Dec.2020&#x27;, &#x27;Jan.2021&#x27;, &#x27;Feb.2021&#x27;,</span></span><br><span class="line">title_list = [<span class="string">&#x27;Mar.2021&#x27;</span>, <span class="string">&#x27;Apr.2021&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;May.2021&#x27;</span>, <span class="string">&#x27;Jun.2021&#x27;</span>, <span class="string">&#x27;Jul.2021&#x27;</span>, <span class="string">&#x27;Aug.2021&#x27;</span>, <span class="string">&#x27;Sept.2021&#x27;</span>]</span><br><span class="line">input_path = <span class="string">&#x27;/Users/leo/Desktop/MarineTechTest8/Data/&#x27;</span></span><br><span class="line">output_path = <span class="string">&#x27;/Users/leo/Desktop/MarineTechTest8/Results/Img2/&#x27;</span></span><br><span class="line"><span class="keyword">if</span> <span class="keyword">not</span> os.path.exists(output_path):</span><br><span class="line">    os.mkdir(output_path)</span><br><span class="line">file_list = os.listdir(input_path)</span><br><span class="line"><span class="keyword">for</span> k, j <span class="keyword">in</span> <span class="built_in">zip</span>(prefix, title_list):</span><br><span class="line">    <span class="keyword">for</span> i <span class="keyword">in</span> file_list:</span><br><span class="line">        <span class="keyword">if</span> i.endswith(postfix) <span class="keyword">and</span> i[<span class="number">24</span>:].startswith(k):</span><br><span class="line">            file = input_path + i</span><br><span class="line">            <span class="keyword">for</span> l <span class="keyword">in</span> <span class="built_in">range</span>(-<span class="number">180</span>, <span class="number">180</span>, <span class="number">10</span>):</span><br><span class="line">                <span class="built_in">print</span>(file, l)</span><br><span class="line">                <span class="comment"># input_file = &#x27;/Users/leo/Desktop/MarineTechTest8/Data/RSS_smap_SSS_L3_monthly_2020_01_FNL_v04.0.nc&#x27;</span></span><br><span class="line">                draw_sss_fig(file)</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<blockquote>
<p>生成gif动态图代码</p>
</blockquote>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> imageio, os</span><br><span class="line"><span class="keyword">import</span> moviepy.editor <span class="keyword">as</span> mp</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">create_gif</span>(<span class="params">image_list, gif_name, duration</span>):</span><br><span class="line">    frames = []</span><br><span class="line">    <span class="keyword">for</span> image_name <span class="keyword">in</span> image_list:</span><br><span class="line">        frames.append(imageio.imread(image_name))</span><br><span class="line">    imageio.mimsave(gif_name, frames, <span class="string">&#x27;GIF&#x27;</span>, duration=duration)</span><br><span class="line">    <span class="keyword">return</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">main</span>():</span><br><span class="line">    postfix = <span class="string">&#x27;.jpg&#x27;</span></span><br><span class="line">    postfix1 = <span class="string">&#x27;Global_SSS_All1.gif&#x27;</span></span><br><span class="line">    prefix = [<span class="string">&#x27;2020_01170&#x27;</span>,  <span class="string">&#x27;2020_02170&#x27;</span>,  <span class="string">&#x27;2020_03170&#x27;</span>,  <span class="string">&#x27;2020_04170&#x27;</span>,  <span class="string">&#x27;2020_05170&#x27;</span>,  <span class="string">&#x27;2020_06170&#x27;</span>,  <span class="string">&#x27;2020_07170&#x27;</span>,  <span class="string">&#x27;2020_08170&#x27;</span>,  <span class="string">&#x27;2020_09170&#x27;</span>,  <span class="string">&#x27;2020_10170&#x27;</span>,  <span class="string">&#x27;2020_11170&#x27;</span>,  <span class="string">&#x27;2020_12170&#x27;</span>,  <span class="string">&#x27;2021_01170&#x27;</span>,  <span class="string">&#x27;2021_02170&#x27;</span>,  <span class="string">&#x27;2021_03170&#x27;</span>,  <span class="string">&#x27;2021_04170&#x27;</span>,  <span class="string">&#x27;2021_05170&#x27;</span>,  <span class="string">&#x27;2021_06170&#x27;</span>,  <span class="string">&#x27;2021_07170&#x27;</span>,  <span class="string">&#x27;2021_08170&#x27;</span>,  <span class="string">&#x27;2021_09170&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01160&#x27;</span>,  <span class="string">&#x27;2020_02160&#x27;</span>,  <span class="string">&#x27;2020_03160&#x27;</span>,  <span class="string">&#x27;2020_04160&#x27;</span>,  <span class="string">&#x27;2020_05160&#x27;</span>,  <span class="string">&#x27;2020_06160&#x27;</span>,  <span class="string">&#x27;2020_07160&#x27;</span>,  <span class="string">&#x27;2020_08160&#x27;</span>,  <span class="string">&#x27;2020_09160&#x27;</span>,  <span class="string">&#x27;2020_10160&#x27;</span>,  <span class="string">&#x27;2020_11160&#x27;</span>,  <span class="string">&#x27;2020_12160&#x27;</span>,  <span class="string">&#x27;2021_01160&#x27;</span>,  <span class="string">&#x27;2021_02160&#x27;</span>,  <span class="string">&#x27;2021_03160&#x27;</span>,  <span class="string">&#x27;2021_04160&#x27;</span>,  <span class="string">&#x27;2021_05160&#x27;</span>,  <span class="string">&#x27;2021_06160&#x27;</span>,  <span class="string">&#x27;2021_07160&#x27;</span>,  <span class="string">&#x27;2021_08160&#x27;</span>,  <span class="string">&#x27;2021_09160&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01150&#x27;</span>,  <span class="string">&#x27;2020_02150&#x27;</span>,  <span class="string">&#x27;2020_03150&#x27;</span>,  <span class="string">&#x27;2020_04150&#x27;</span>,  <span class="string">&#x27;2020_05150&#x27;</span>,  <span class="string">&#x27;2020_06150&#x27;</span>,  <span class="string">&#x27;2020_07150&#x27;</span>,  <span class="string">&#x27;2020_08150&#x27;</span>,  <span class="string">&#x27;2020_09150&#x27;</span>,  <span class="string">&#x27;2020_10150&#x27;</span>,  <span class="string">&#x27;2020_11150&#x27;</span>,  <span class="string">&#x27;2020_12150&#x27;</span>,  <span class="string">&#x27;2021_01150&#x27;</span>,  <span class="string">&#x27;2021_02150&#x27;</span>,  <span class="string">&#x27;2021_03150&#x27;</span>,  <span class="string">&#x27;2021_04150&#x27;</span>,  <span class="string">&#x27;2021_05150&#x27;</span>,  <span class="string">&#x27;2021_06150&#x27;</span>,  <span class="string">&#x27;2021_07150&#x27;</span>,  <span class="string">&#x27;2021_08150&#x27;</span>,  <span class="string">&#x27;2021_09150&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01140&#x27;</span>,  <span class="string">&#x27;2020_02140&#x27;</span>,  <span class="string">&#x27;2020_03140&#x27;</span>,  <span class="string">&#x27;2020_04140&#x27;</span>,  <span class="string">&#x27;2020_05140&#x27;</span>,  <span class="string">&#x27;2020_06140&#x27;</span>,  <span class="string">&#x27;2020_07140&#x27;</span>,  <span class="string">&#x27;2020_08140&#x27;</span>,  <span class="string">&#x27;2020_09140&#x27;</span>,  <span class="string">&#x27;2020_10140&#x27;</span>,  <span class="string">&#x27;2020_11140&#x27;</span>,  <span class="string">&#x27;2020_12140&#x27;</span>,  <span class="string">&#x27;2021_01140&#x27;</span>,  <span class="string">&#x27;2021_02140&#x27;</span>,  <span class="string">&#x27;2021_03140&#x27;</span>,  <span class="string">&#x27;2021_04140&#x27;</span>,  <span class="string">&#x27;2021_05140&#x27;</span>,  <span class="string">&#x27;2021_06140&#x27;</span>,  <span class="string">&#x27;2021_07140&#x27;</span>,  <span class="string">&#x27;2021_08140&#x27;</span>,  <span class="string">&#x27;2021_09140&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01130&#x27;</span>,  <span class="string">&#x27;2020_02130&#x27;</span>,  <span class="string">&#x27;2020_03130&#x27;</span>,  <span class="string">&#x27;2020_04130&#x27;</span>,  <span class="string">&#x27;2020_05130&#x27;</span>,  <span class="string">&#x27;2020_06130&#x27;</span>,  <span class="string">&#x27;2020_07130&#x27;</span>,  <span class="string">&#x27;2020_08130&#x27;</span>,  <span class="string">&#x27;2020_09130&#x27;</span>,  <span class="string">&#x27;2020_10130&#x27;</span>,  <span class="string">&#x27;2020_11130&#x27;</span>,  <span class="string">&#x27;2020_12130&#x27;</span>,  <span class="string">&#x27;2021_01130&#x27;</span>,  <span class="string">&#x27;2021_02130&#x27;</span>,  <span class="string">&#x27;2021_03130&#x27;</span>,  <span class="string">&#x27;2021_04130&#x27;</span>,  <span class="string">&#x27;2021_05130&#x27;</span>,  <span class="string">&#x27;2021_06130&#x27;</span>,  <span class="string">&#x27;2021_07130&#x27;</span>,  <span class="string">&#x27;2021_08130&#x27;</span>,  <span class="string">&#x27;2021_09130&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01120&#x27;</span>,  <span class="string">&#x27;2020_02120&#x27;</span>,  <span class="string">&#x27;2020_03120&#x27;</span>,  <span class="string">&#x27;2020_04120&#x27;</span>,  <span class="string">&#x27;2020_05120&#x27;</span>,  <span class="string">&#x27;2020_06120&#x27;</span>,  <span class="string">&#x27;2020_07120&#x27;</span>,  <span class="string">&#x27;2020_08120&#x27;</span>,  <span class="string">&#x27;2020_09120&#x27;</span>,  <span class="string">&#x27;2020_10120&#x27;</span>,  <span class="string">&#x27;2020_11120&#x27;</span>,  <span class="string">&#x27;2020_12120&#x27;</span>,  <span class="string">&#x27;2021_01120&#x27;</span>,  <span class="string">&#x27;2021_02120&#x27;</span>,  <span class="string">&#x27;2021_03120&#x27;</span>,  <span class="string">&#x27;2021_04120&#x27;</span>,  <span class="string">&#x27;2021_05120&#x27;</span>,  <span class="string">&#x27;2021_06120&#x27;</span>,  <span class="string">&#x27;2021_07120&#x27;</span>,  <span class="string">&#x27;2021_08120&#x27;</span>,  <span class="string">&#x27;2021_09120&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01110&#x27;</span>,  <span class="string">&#x27;2020_02110&#x27;</span>,  <span class="string">&#x27;2020_03110&#x27;</span>,  <span class="string">&#x27;2020_04110&#x27;</span>,  <span class="string">&#x27;2020_05110&#x27;</span>,  <span class="string">&#x27;2020_06110&#x27;</span>,  <span class="string">&#x27;2020_07110&#x27;</span>,  <span class="string">&#x27;2020_08110&#x27;</span>,  <span class="string">&#x27;2020_09110&#x27;</span>,  <span class="string">&#x27;2020_10110&#x27;</span>,  <span class="string">&#x27;2020_11110&#x27;</span>,  <span class="string">&#x27;2020_12110&#x27;</span>,  <span class="string">&#x27;2021_01110&#x27;</span>,  <span class="string">&#x27;2021_02110&#x27;</span>,  <span class="string">&#x27;2021_03110&#x27;</span>,  <span class="string">&#x27;2021_04110&#x27;</span>,  <span class="string">&#x27;2021_05110&#x27;</span>,  <span class="string">&#x27;2021_06110&#x27;</span>,  <span class="string">&#x27;2021_07110&#x27;</span>,  <span class="string">&#x27;2021_08110&#x27;</span>,  <span class="string">&#x27;2021_09110&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01100&#x27;</span>,  <span class="string">&#x27;2020_02100&#x27;</span>,  <span class="string">&#x27;2020_03100&#x27;</span>,  <span class="string">&#x27;2020_04100&#x27;</span>,  <span class="string">&#x27;2020_05100&#x27;</span>,  <span class="string">&#x27;2020_06100&#x27;</span>,  <span class="string">&#x27;2020_07100&#x27;</span>,  <span class="string">&#x27;2020_08100&#x27;</span>,  <span class="string">&#x27;2020_09100&#x27;</span>,  <span class="string">&#x27;2020_10100&#x27;</span>,  <span class="string">&#x27;2020_11100&#x27;</span>,  <span class="string">&#x27;2020_12100&#x27;</span>,  <span class="string">&#x27;2021_01100&#x27;</span>,  <span class="string">&#x27;2021_02100&#x27;</span>,  <span class="string">&#x27;2021_03100&#x27;</span>,  <span class="string">&#x27;2021_04100&#x27;</span>,  <span class="string">&#x27;2021_05100&#x27;</span>,  <span class="string">&#x27;2021_06100&#x27;</span>,  <span class="string">&#x27;2021_07100&#x27;</span>,  <span class="string">&#x27;2021_08100&#x27;</span>,  <span class="string">&#x27;2021_09100&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0190&#x27;</span>,   <span class="string">&#x27;2020_0290&#x27;</span>,   <span class="string">&#x27;2020_0390&#x27;</span>,   <span class="string">&#x27;2020_0490&#x27;</span>,   <span class="string">&#x27;2020_0590&#x27;</span>,   <span class="string">&#x27;2020_0690&#x27;</span>,   <span class="string">&#x27;2020_0790&#x27;</span>,   <span class="string">&#x27;2020_0890&#x27;</span>,   <span class="string">&#x27;2020_0990&#x27;</span>,   <span class="string">&#x27;2020_1090&#x27;</span>,   <span class="string">&#x27;2020_1190&#x27;</span>,   <span class="string">&#x27;2020_1290&#x27;</span>,   <span class="string">&#x27;2021_0190&#x27;</span>,   <span class="string">&#x27;2021_0290&#x27;</span>,   <span class="string">&#x27;2021_0390&#x27;</span>,   <span class="string">&#x27;2021_0490&#x27;</span>,   <span class="string">&#x27;2021_0590&#x27;</span>,   <span class="string">&#x27;2021_0690&#x27;</span>,   <span class="string">&#x27;2021_0790&#x27;</span>,   <span class="string">&#x27;2021_0890&#x27;</span>,   <span class="string">&#x27;2021_0990&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0180&#x27;</span>,   <span class="string">&#x27;2020_0280&#x27;</span>,   <span class="string">&#x27;2020_0380&#x27;</span>,   <span class="string">&#x27;2020_0480&#x27;</span>,   <span class="string">&#x27;2020_0580&#x27;</span>,   <span class="string">&#x27;2020_0680&#x27;</span>,   <span class="string">&#x27;2020_0780&#x27;</span>,   <span class="string">&#x27;2020_0880&#x27;</span>,   <span class="string">&#x27;2020_0980&#x27;</span>,   <span class="string">&#x27;2020_1080&#x27;</span>,   <span class="string">&#x27;2020_1180&#x27;</span>,   <span class="string">&#x27;2020_1280&#x27;</span>,   <span class="string">&#x27;2021_0180&#x27;</span>,   <span class="string">&#x27;2021_0280&#x27;</span>,   <span class="string">&#x27;2021_0380&#x27;</span>,   <span class="string">&#x27;2021_0480&#x27;</span>,   <span class="string">&#x27;2021_0580&#x27;</span>,   <span class="string">&#x27;2021_0680&#x27;</span>,   <span class="string">&#x27;2021_0780&#x27;</span>,   <span class="string">&#x27;2021_0880&#x27;</span>,   <span class="string">&#x27;2021_0980&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0170&#x27;</span>,   <span class="string">&#x27;2020_0270&#x27;</span>,   <span class="string">&#x27;2020_0370&#x27;</span>,   <span class="string">&#x27;2020_0470&#x27;</span>,   <span class="string">&#x27;2020_0570&#x27;</span>,   <span class="string">&#x27;2020_0670&#x27;</span>,   <span class="string">&#x27;2020_0770&#x27;</span>,   <span class="string">&#x27;2020_0870&#x27;</span>,   <span class="string">&#x27;2020_0970&#x27;</span>,   <span class="string">&#x27;2020_1070&#x27;</span>,   <span class="string">&#x27;2020_1170&#x27;</span>,   <span class="string">&#x27;2020_1270&#x27;</span>,   <span class="string">&#x27;2021_0170&#x27;</span>,   <span class="string">&#x27;2021_0270&#x27;</span>,   <span class="string">&#x27;2021_0370&#x27;</span>,   <span class="string">&#x27;2021_0470&#x27;</span>,   <span class="string">&#x27;2021_0570&#x27;</span>,   <span class="string">&#x27;2021_0670&#x27;</span>,   <span class="string">&#x27;2021_0770&#x27;</span>,   <span class="string">&#x27;2021_0870&#x27;</span>,   <span class="string">&#x27;2021_0970&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0160&#x27;</span>,   <span class="string">&#x27;2020_0260&#x27;</span>,   <span class="string">&#x27;2020_0360&#x27;</span>,   <span class="string">&#x27;2020_0460&#x27;</span>,   <span class="string">&#x27;2020_0560&#x27;</span>,   <span class="string">&#x27;2020_0660&#x27;</span>,   <span class="string">&#x27;2020_0760&#x27;</span>,   <span class="string">&#x27;2020_0860&#x27;</span>,   <span class="string">&#x27;2020_0960&#x27;</span>,   <span class="string">&#x27;2020_1060&#x27;</span>,   <span class="string">&#x27;2020_1160&#x27;</span>,   <span class="string">&#x27;2020_1260&#x27;</span>,   <span class="string">&#x27;2021_0160&#x27;</span>,   <span class="string">&#x27;2021_0260&#x27;</span>,   <span class="string">&#x27;2021_0360&#x27;</span>,   <span class="string">&#x27;2021_0460&#x27;</span>,   <span class="string">&#x27;2021_0560&#x27;</span>,   <span class="string">&#x27;2021_0660&#x27;</span>,   <span class="string">&#x27;2021_0760&#x27;</span>,   <span class="string">&#x27;2021_0860&#x27;</span>,   <span class="string">&#x27;2021_0960&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0150&#x27;</span>,   <span class="string">&#x27;2020_0250&#x27;</span>,   <span class="string">&#x27;2020_0350&#x27;</span>,   <span class="string">&#x27;2020_0450&#x27;</span>,   <span class="string">&#x27;2020_0550&#x27;</span>,   <span class="string">&#x27;2020_0650&#x27;</span>,   <span class="string">&#x27;2020_0750&#x27;</span>,   <span class="string">&#x27;2020_0850&#x27;</span>,   <span class="string">&#x27;2020_0950&#x27;</span>,   <span class="string">&#x27;2020_1050&#x27;</span>,   <span class="string">&#x27;2020_1150&#x27;</span>,   <span class="string">&#x27;2020_1250&#x27;</span>,   <span class="string">&#x27;2021_0150&#x27;</span>,   <span class="string">&#x27;2021_0250&#x27;</span>,   <span class="string">&#x27;2021_0350&#x27;</span>,   <span class="string">&#x27;2021_0450&#x27;</span>,   <span class="string">&#x27;2021_0550&#x27;</span>,   <span class="string">&#x27;2021_0650&#x27;</span>,   <span class="string">&#x27;2021_0750&#x27;</span>,   <span class="string">&#x27;2021_0850&#x27;</span>,   <span class="string">&#x27;2021_0950&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0140&#x27;</span>,   <span class="string">&#x27;2020_0240&#x27;</span>,   <span class="string">&#x27;2020_0340&#x27;</span>,   <span class="string">&#x27;2020_0440&#x27;</span>,   <span class="string">&#x27;2020_0540&#x27;</span>,   <span class="string">&#x27;2020_0640&#x27;</span>,   <span class="string">&#x27;2020_0740&#x27;</span>,   <span class="string">&#x27;2020_0840&#x27;</span>,   <span class="string">&#x27;2020_0940&#x27;</span>,   <span class="string">&#x27;2020_1040&#x27;</span>,   <span class="string">&#x27;2020_1140&#x27;</span>,   <span class="string">&#x27;2020_1240&#x27;</span>,   <span class="string">&#x27;2021_0140&#x27;</span>,   <span class="string">&#x27;2021_0240&#x27;</span>,   <span class="string">&#x27;2021_0340&#x27;</span>,   <span class="string">&#x27;2021_0440&#x27;</span>,   <span class="string">&#x27;2021_0540&#x27;</span>,   <span class="string">&#x27;2021_0640&#x27;</span>,   <span class="string">&#x27;2021_0740&#x27;</span>,   <span class="string">&#x27;2021_0840&#x27;</span>,   <span class="string">&#x27;2021_0940&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0130&#x27;</span>,   <span class="string">&#x27;2020_0230&#x27;</span>,   <span class="string">&#x27;2020_0330&#x27;</span>,   <span class="string">&#x27;2020_0430&#x27;</span>,   <span class="string">&#x27;2020_0530&#x27;</span>,   <span class="string">&#x27;2020_0630&#x27;</span>,   <span class="string">&#x27;2020_0730&#x27;</span>,   <span class="string">&#x27;2020_0830&#x27;</span>,   <span class="string">&#x27;2020_0930&#x27;</span>,   <span class="string">&#x27;2020_1030&#x27;</span>,   <span class="string">&#x27;2020_1130&#x27;</span>,   <span class="string">&#x27;2020_1230&#x27;</span>,   <span class="string">&#x27;2021_0130&#x27;</span>,   <span class="string">&#x27;2021_0230&#x27;</span>,   <span class="string">&#x27;2021_0330&#x27;</span>,   <span class="string">&#x27;2021_0430&#x27;</span>,   <span class="string">&#x27;2021_0530&#x27;</span>,   <span class="string">&#x27;2021_0630&#x27;</span>,   <span class="string">&#x27;2021_0730&#x27;</span>,   <span class="string">&#x27;2021_0830&#x27;</span>,   <span class="string">&#x27;2021_0930&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0120&#x27;</span>,   <span class="string">&#x27;2020_0220&#x27;</span>,   <span class="string">&#x27;2020_0320&#x27;</span>,   <span class="string">&#x27;2020_0420&#x27;</span>,   <span class="string">&#x27;2020_0520&#x27;</span>,   <span class="string">&#x27;2020_0620&#x27;</span>,   <span class="string">&#x27;2020_0720&#x27;</span>,   <span class="string">&#x27;2020_0820&#x27;</span>,   <span class="string">&#x27;2020_0920&#x27;</span>,   <span class="string">&#x27;2020_1020&#x27;</span>,   <span class="string">&#x27;2020_1120&#x27;</span>,   <span class="string">&#x27;2020_1220&#x27;</span>,   <span class="string">&#x27;2021_0120&#x27;</span>,   <span class="string">&#x27;2021_0220&#x27;</span>,   <span class="string">&#x27;2021_0320&#x27;</span>,   <span class="string">&#x27;2021_0420&#x27;</span>,   <span class="string">&#x27;2021_0520&#x27;</span>,   <span class="string">&#x27;2021_0620&#x27;</span>,   <span class="string">&#x27;2021_0720&#x27;</span>,   <span class="string">&#x27;2021_0820&#x27;</span>,   <span class="string">&#x27;2021_0920&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_0110.&#x27;</span>,  <span class="string">&#x27;2020_0210.&#x27;</span>,  <span class="string">&#x27;2020_0310.&#x27;</span>,  <span class="string">&#x27;2020_0410.&#x27;</span>,  <span class="string">&#x27;2020_0510.&#x27;</span>,  <span class="string">&#x27;2020_0610.&#x27;</span>,  <span class="string">&#x27;2020_0710.&#x27;</span>,  <span class="string">&#x27;2020_0810.&#x27;</span>,  <span class="string">&#x27;2020_0910.&#x27;</span>,  <span class="string">&#x27;2020_1010.&#x27;</span>,  <span class="string">&#x27;2020_1110.&#x27;</span>,  <span class="string">&#x27;2020_1210.&#x27;</span>,  <span class="string">&#x27;2021_0110.&#x27;</span>,  <span class="string">&#x27;2021_0210.&#x27;</span>,  <span class="string">&#x27;2021_0310.&#x27;</span>,  <span class="string">&#x27;2021_0410.&#x27;</span>,  <span class="string">&#x27;2021_0510.&#x27;</span>,  <span class="string">&#x27;2021_0610.&#x27;</span>,  <span class="string">&#x27;2021_0710.&#x27;</span>,  <span class="string">&#x27;2021_0810.&#x27;</span>,  <span class="string">&#x27;2021_0910.&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_010&#x27;</span>,    <span class="string">&#x27;2020_020&#x27;</span>,    <span class="string">&#x27;2020_030&#x27;</span>,    <span class="string">&#x27;2020_040&#x27;</span>,    <span class="string">&#x27;2020_050&#x27;</span>,    <span class="string">&#x27;2020_060&#x27;</span>,    <span class="string">&#x27;2020_070&#x27;</span>,    <span class="string">&#x27;2020_080&#x27;</span>,    <span class="string">&#x27;2020_090&#x27;</span>,    <span class="string">&#x27;2020_100&#x27;</span>,    <span class="string">&#x27;2020_110&#x27;</span>,    <span class="string">&#x27;2020_120&#x27;</span>,    <span class="string">&#x27;2021_010&#x27;</span>,    <span class="string">&#x27;2021_020&#x27;</span>,    <span class="string">&#x27;2021_030&#x27;</span>,    <span class="string">&#x27;2021_040&#x27;</span>,    <span class="string">&#x27;2021_050&#x27;</span>,    <span class="string">&#x27;2021_060&#x27;</span>,    <span class="string">&#x27;2021_070&#x27;</span>,    <span class="string">&#x27;2021_080&#x27;</span>,    <span class="string">&#x27;2021_090&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-10.&#x27;</span>, <span class="string">&#x27;2020_02-10.&#x27;</span>, <span class="string">&#x27;2020_03-10.&#x27;</span>, <span class="string">&#x27;2020_04-10.&#x27;</span>, <span class="string">&#x27;2020_05-10.&#x27;</span>, <span class="string">&#x27;2020_06-10.&#x27;</span>, <span class="string">&#x27;2020_07-10.&#x27;</span>, <span class="string">&#x27;2020_08-10.&#x27;</span>, <span class="string">&#x27;2020_09-10.&#x27;</span>, <span class="string">&#x27;2020_10-10.&#x27;</span>, <span class="string">&#x27;2020_11-10.&#x27;</span>, <span class="string">&#x27;2020_12-10.&#x27;</span>, <span class="string">&#x27;2021_01-10.&#x27;</span>, <span class="string">&#x27;2021_02-10.&#x27;</span>, <span class="string">&#x27;2021_03-10.&#x27;</span>, <span class="string">&#x27;2021_04-10.&#x27;</span>, <span class="string">&#x27;2021_05-10.&#x27;</span>, <span class="string">&#x27;2021_06-10.&#x27;</span>, <span class="string">&#x27;2021_07-10.&#x27;</span>, <span class="string">&#x27;2021_08-10.&#x27;</span>, <span class="string">&#x27;2021_09-10.&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-20&#x27;</span>,  <span class="string">&#x27;2020_02-20&#x27;</span>,  <span class="string">&#x27;2020_03-20&#x27;</span>,  <span class="string">&#x27;2020_04-20&#x27;</span>,  <span class="string">&#x27;2020_05-20&#x27;</span>,  <span class="string">&#x27;2020_06-20&#x27;</span>,  <span class="string">&#x27;2020_07-20&#x27;</span>,  <span class="string">&#x27;2020_08-20&#x27;</span>,  <span class="string">&#x27;2020_09-20&#x27;</span>,  <span class="string">&#x27;2020_10-20&#x27;</span>,  <span class="string">&#x27;2020_11-20&#x27;</span>,  <span class="string">&#x27;2020_12-20&#x27;</span>,  <span class="string">&#x27;2021_01-20&#x27;</span>,  <span class="string">&#x27;2021_02-20&#x27;</span>,  <span class="string">&#x27;2021_03-20&#x27;</span>,  <span class="string">&#x27;2021_04-20&#x27;</span>,  <span class="string">&#x27;2021_05-20&#x27;</span>,  <span class="string">&#x27;2021_06-20&#x27;</span>,  <span class="string">&#x27;2021_07-20&#x27;</span>,  <span class="string">&#x27;2021_08-20&#x27;</span>,  <span class="string">&#x27;2021_09-20&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-30&#x27;</span>,  <span class="string">&#x27;2020_02-30&#x27;</span>,  <span class="string">&#x27;2020_03-30&#x27;</span>,  <span class="string">&#x27;2020_04-30&#x27;</span>,  <span class="string">&#x27;2020_05-30&#x27;</span>,  <span class="string">&#x27;2020_06-30&#x27;</span>,  <span class="string">&#x27;2020_07-30&#x27;</span>,  <span class="string">&#x27;2020_08-30&#x27;</span>,  <span class="string">&#x27;2020_09-30&#x27;</span>,  <span class="string">&#x27;2020_10-30&#x27;</span>,  <span class="string">&#x27;2020_11-30&#x27;</span>,  <span class="string">&#x27;2020_12-30&#x27;</span>,  <span class="string">&#x27;2021_01-30&#x27;</span>,  <span class="string">&#x27;2021_02-30&#x27;</span>,  <span class="string">&#x27;2021_03-30&#x27;</span>,  <span class="string">&#x27;2021_04-30&#x27;</span>,  <span class="string">&#x27;2021_05-30&#x27;</span>,  <span class="string">&#x27;2021_06-30&#x27;</span>,  <span class="string">&#x27;2021_07-30&#x27;</span>,  <span class="string">&#x27;2021_08-30&#x27;</span>,  <span class="string">&#x27;2021_09-30&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-40&#x27;</span>,  <span class="string">&#x27;2020_02-40&#x27;</span>,  <span class="string">&#x27;2020_03-40&#x27;</span>,  <span class="string">&#x27;2020_04-40&#x27;</span>,  <span class="string">&#x27;2020_05-40&#x27;</span>,  <span class="string">&#x27;2020_06-40&#x27;</span>,  <span class="string">&#x27;2020_07-40&#x27;</span>,  <span class="string">&#x27;2020_08-40&#x27;</span>,  <span class="string">&#x27;2020_09-40&#x27;</span>,  <span class="string">&#x27;2020_10-40&#x27;</span>,  <span class="string">&#x27;2020_11-40&#x27;</span>,  <span class="string">&#x27;2020_12-40&#x27;</span>,  <span class="string">&#x27;2021_01-40&#x27;</span>,  <span class="string">&#x27;2021_02-40&#x27;</span>,  <span class="string">&#x27;2021_03-40&#x27;</span>,  <span class="string">&#x27;2021_04-40&#x27;</span>,  <span class="string">&#x27;2021_05-40&#x27;</span>,  <span class="string">&#x27;2021_06-40&#x27;</span>,  <span class="string">&#x27;2021_07-40&#x27;</span>,  <span class="string">&#x27;2021_08-40&#x27;</span>,  <span class="string">&#x27;2021_09-40&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-50&#x27;</span>,  <span class="string">&#x27;2020_02-50&#x27;</span>,  <span class="string">&#x27;2020_03-50&#x27;</span>,  <span class="string">&#x27;2020_04-50&#x27;</span>,  <span class="string">&#x27;2020_05-50&#x27;</span>,  <span class="string">&#x27;2020_06-50&#x27;</span>,  <span class="string">&#x27;2020_07-50&#x27;</span>,  <span class="string">&#x27;2020_08-50&#x27;</span>,  <span class="string">&#x27;2020_09-50&#x27;</span>,  <span class="string">&#x27;2020_10-50&#x27;</span>,  <span class="string">&#x27;2020_11-50&#x27;</span>,  <span class="string">&#x27;2020_12-50&#x27;</span>,  <span class="string">&#x27;2021_01-50&#x27;</span>,  <span class="string">&#x27;2021_02-50&#x27;</span>,  <span class="string">&#x27;2021_03-50&#x27;</span>,  <span class="string">&#x27;2021_04-50&#x27;</span>,  <span class="string">&#x27;2021_05-50&#x27;</span>,  <span class="string">&#x27;2021_06-50&#x27;</span>,  <span class="string">&#x27;2021_07-50&#x27;</span>,  <span class="string">&#x27;2021_08-50&#x27;</span>,  <span class="string">&#x27;2021_09-50&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-60&#x27;</span>,  <span class="string">&#x27;2020_02-60&#x27;</span>,  <span class="string">&#x27;2020_03-60&#x27;</span>,  <span class="string">&#x27;2020_04-60&#x27;</span>,  <span class="string">&#x27;2020_05-60&#x27;</span>,  <span class="string">&#x27;2020_06-60&#x27;</span>,  <span class="string">&#x27;2020_07-60&#x27;</span>,  <span class="string">&#x27;2020_08-60&#x27;</span>,  <span class="string">&#x27;2020_09-60&#x27;</span>,  <span class="string">&#x27;2020_10-60&#x27;</span>,  <span class="string">&#x27;2020_11-60&#x27;</span>,  <span class="string">&#x27;2020_12-60&#x27;</span>,  <span class="string">&#x27;2021_01-60&#x27;</span>,  <span class="string">&#x27;2021_02-60&#x27;</span>,  <span class="string">&#x27;2021_03-60&#x27;</span>,  <span class="string">&#x27;2021_04-60&#x27;</span>,  <span class="string">&#x27;2021_05-60&#x27;</span>,  <span class="string">&#x27;2021_06-60&#x27;</span>,  <span class="string">&#x27;2021_07-60&#x27;</span>,  <span class="string">&#x27;2021_08-60&#x27;</span>,  <span class="string">&#x27;2021_09-60&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-70&#x27;</span>,  <span class="string">&#x27;2020_02-70&#x27;</span>,  <span class="string">&#x27;2020_03-70&#x27;</span>,  <span class="string">&#x27;2020_04-70&#x27;</span>,  <span class="string">&#x27;2020_05-70&#x27;</span>,  <span class="string">&#x27;2020_06-70&#x27;</span>,  <span class="string">&#x27;2020_07-70&#x27;</span>,  <span class="string">&#x27;2020_08-70&#x27;</span>,  <span class="string">&#x27;2020_09-70&#x27;</span>,  <span class="string">&#x27;2020_10-70&#x27;</span>,  <span class="string">&#x27;2020_11-70&#x27;</span>,  <span class="string">&#x27;2020_12-70&#x27;</span>,  <span class="string">&#x27;2021_01-70&#x27;</span>,  <span class="string">&#x27;2021_02-70&#x27;</span>,  <span class="string">&#x27;2021_03-70&#x27;</span>,  <span class="string">&#x27;2021_04-70&#x27;</span>,  <span class="string">&#x27;2021_05-70&#x27;</span>,  <span class="string">&#x27;2021_06-70&#x27;</span>,  <span class="string">&#x27;2021_07-70&#x27;</span>,  <span class="string">&#x27;2021_08-70&#x27;</span>,  <span class="string">&#x27;2021_09-70&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-80&#x27;</span>,  <span class="string">&#x27;2020_02-80&#x27;</span>,  <span class="string">&#x27;2020_03-80&#x27;</span>,  <span class="string">&#x27;2020_04-80&#x27;</span>,  <span class="string">&#x27;2020_05-80&#x27;</span>,  <span class="string">&#x27;2020_06-80&#x27;</span>,  <span class="string">&#x27;2020_07-80&#x27;</span>,  <span class="string">&#x27;2020_08-80&#x27;</span>,  <span class="string">&#x27;2020_09-80&#x27;</span>,  <span class="string">&#x27;2020_10-80&#x27;</span>,  <span class="string">&#x27;2020_11-80&#x27;</span>,  <span class="string">&#x27;2020_12-80&#x27;</span>,  <span class="string">&#x27;2021_01-80&#x27;</span>,  <span class="string">&#x27;2021_02-80&#x27;</span>,  <span class="string">&#x27;2021_03-80&#x27;</span>,  <span class="string">&#x27;2021_04-80&#x27;</span>,  <span class="string">&#x27;2021_05-80&#x27;</span>,  <span class="string">&#x27;2021_06-80&#x27;</span>,  <span class="string">&#x27;2021_07-80&#x27;</span>,  <span class="string">&#x27;2021_08-80&#x27;</span>,  <span class="string">&#x27;2021_09-80&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-90&#x27;</span>,  <span class="string">&#x27;2020_02-90&#x27;</span>,  <span class="string">&#x27;2020_03-90&#x27;</span>,  <span class="string">&#x27;2020_04-90&#x27;</span>,  <span class="string">&#x27;2020_05-90&#x27;</span>,  <span class="string">&#x27;2020_06-90&#x27;</span>,  <span class="string">&#x27;2020_07-90&#x27;</span>,  <span class="string">&#x27;2020_08-90&#x27;</span>,  <span class="string">&#x27;2020_09-90&#x27;</span>,  <span class="string">&#x27;2020_10-90&#x27;</span>,  <span class="string">&#x27;2020_11-90&#x27;</span>,  <span class="string">&#x27;2020_12-90&#x27;</span>,  <span class="string">&#x27;2021_01-90&#x27;</span>,  <span class="string">&#x27;2021_02-90&#x27;</span>,  <span class="string">&#x27;2021_03-90&#x27;</span>,  <span class="string">&#x27;2021_04-90&#x27;</span>,  <span class="string">&#x27;2021_05-90&#x27;</span>,  <span class="string">&#x27;2021_06-90&#x27;</span>,  <span class="string">&#x27;2021_07-90&#x27;</span>,  <span class="string">&#x27;2021_08-90&#x27;</span>,  <span class="string">&#x27;2021_09-90&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-100&#x27;</span>, <span class="string">&#x27;2020_02-100&#x27;</span>, <span class="string">&#x27;2020_03-100&#x27;</span>, <span class="string">&#x27;2020_04-100&#x27;</span>, <span class="string">&#x27;2020_05-100&#x27;</span>, <span class="string">&#x27;2020_06-100&#x27;</span>, <span class="string">&#x27;2020_07-100&#x27;</span>, <span class="string">&#x27;2020_08-100&#x27;</span>, <span class="string">&#x27;2020_09-100&#x27;</span>, <span class="string">&#x27;2020_10-100&#x27;</span>, <span class="string">&#x27;2020_11-100&#x27;</span>, <span class="string">&#x27;2020_12-100&#x27;</span>, <span class="string">&#x27;2021_01-100&#x27;</span>, <span class="string">&#x27;2021_02-100&#x27;</span>, <span class="string">&#x27;2021_03-100&#x27;</span>, <span class="string">&#x27;2021_04-100&#x27;</span>, <span class="string">&#x27;2021_05-100&#x27;</span>, <span class="string">&#x27;2021_06-100&#x27;</span>, <span class="string">&#x27;2021_07-100&#x27;</span>, <span class="string">&#x27;2021_08-100&#x27;</span>, <span class="string">&#x27;2021_09-100&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-110&#x27;</span>, <span class="string">&#x27;2020_02-110&#x27;</span>, <span class="string">&#x27;2020_03-110&#x27;</span>, <span class="string">&#x27;2020_04-110&#x27;</span>, <span class="string">&#x27;2020_05-110&#x27;</span>, <span class="string">&#x27;2020_06-110&#x27;</span>, <span class="string">&#x27;2020_07-110&#x27;</span>, <span class="string">&#x27;2020_08-110&#x27;</span>, <span class="string">&#x27;2020_09-110&#x27;</span>, <span class="string">&#x27;2020_10-110&#x27;</span>, <span class="string">&#x27;2020_11-110&#x27;</span>, <span class="string">&#x27;2020_12-110&#x27;</span>, <span class="string">&#x27;2021_01-110&#x27;</span>, <span class="string">&#x27;2021_02-110&#x27;</span>, <span class="string">&#x27;2021_03-110&#x27;</span>, <span class="string">&#x27;2021_04-110&#x27;</span>, <span class="string">&#x27;2021_05-110&#x27;</span>, <span class="string">&#x27;2021_06-110&#x27;</span>, <span class="string">&#x27;2021_07-110&#x27;</span>, <span class="string">&#x27;2021_08-110&#x27;</span>, <span class="string">&#x27;2021_09-110&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-120&#x27;</span>, <span class="string">&#x27;2020_02-120&#x27;</span>, <span class="string">&#x27;2020_03-120&#x27;</span>, <span class="string">&#x27;2020_04-120&#x27;</span>, <span class="string">&#x27;2020_05-120&#x27;</span>, <span class="string">&#x27;2020_06-120&#x27;</span>, <span class="string">&#x27;2020_07-120&#x27;</span>, <span class="string">&#x27;2020_08-120&#x27;</span>, <span class="string">&#x27;2020_09-120&#x27;</span>, <span class="string">&#x27;2020_10-120&#x27;</span>, <span class="string">&#x27;2020_11-120&#x27;</span>, <span class="string">&#x27;2020_12-120&#x27;</span>, <span class="string">&#x27;2021_01-120&#x27;</span>, <span class="string">&#x27;2021_02-120&#x27;</span>, <span class="string">&#x27;2021_03-120&#x27;</span>, <span class="string">&#x27;2021_04-120&#x27;</span>, <span class="string">&#x27;2021_05-120&#x27;</span>, <span class="string">&#x27;2021_06-120&#x27;</span>, <span class="string">&#x27;2021_07-120&#x27;</span>, <span class="string">&#x27;2021_08-120&#x27;</span>, <span class="string">&#x27;2021_09-120&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-130&#x27;</span>, <span class="string">&#x27;2020_02-130&#x27;</span>, <span class="string">&#x27;2020_03-130&#x27;</span>, <span class="string">&#x27;2020_04-130&#x27;</span>, <span class="string">&#x27;2020_05-130&#x27;</span>, <span class="string">&#x27;2020_06-130&#x27;</span>, <span class="string">&#x27;2020_07-130&#x27;</span>, <span class="string">&#x27;2020_08-130&#x27;</span>, <span class="string">&#x27;2020_09-130&#x27;</span>, <span class="string">&#x27;2020_10-130&#x27;</span>, <span class="string">&#x27;2020_11-130&#x27;</span>, <span class="string">&#x27;2020_12-130&#x27;</span>, <span class="string">&#x27;2021_01-130&#x27;</span>, <span class="string">&#x27;2021_02-130&#x27;</span>, <span class="string">&#x27;2021_03-130&#x27;</span>, <span class="string">&#x27;2021_04-130&#x27;</span>, <span class="string">&#x27;2021_05-130&#x27;</span>, <span class="string">&#x27;2021_06-130&#x27;</span>, <span class="string">&#x27;2021_07-130&#x27;</span>, <span class="string">&#x27;2021_08-130&#x27;</span>, <span class="string">&#x27;2021_09-130&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-140&#x27;</span>, <span class="string">&#x27;2020_02-140&#x27;</span>, <span class="string">&#x27;2020_03-140&#x27;</span>, <span class="string">&#x27;2020_04-140&#x27;</span>, <span class="string">&#x27;2020_05-140&#x27;</span>, <span class="string">&#x27;2020_06-140&#x27;</span>, <span class="string">&#x27;2020_07-140&#x27;</span>, <span class="string">&#x27;2020_08-140&#x27;</span>, <span class="string">&#x27;2020_09-140&#x27;</span>, <span class="string">&#x27;2020_10-140&#x27;</span>, <span class="string">&#x27;2020_11-140&#x27;</span>, <span class="string">&#x27;2020_12-140&#x27;</span>, <span class="string">&#x27;2021_01-140&#x27;</span>, <span class="string">&#x27;2021_02-140&#x27;</span>, <span class="string">&#x27;2021_03-140&#x27;</span>, <span class="string">&#x27;2021_04-140&#x27;</span>, <span class="string">&#x27;2021_05-140&#x27;</span>, <span class="string">&#x27;2021_06-140&#x27;</span>, <span class="string">&#x27;2021_07-140&#x27;</span>, <span class="string">&#x27;2021_08-140&#x27;</span>, <span class="string">&#x27;2021_09-140&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-150&#x27;</span>, <span class="string">&#x27;2020_02-150&#x27;</span>, <span class="string">&#x27;2020_03-150&#x27;</span>, <span class="string">&#x27;2020_04-150&#x27;</span>, <span class="string">&#x27;2020_05-150&#x27;</span>, <span class="string">&#x27;2020_06-150&#x27;</span>, <span class="string">&#x27;2020_07-150&#x27;</span>, <span class="string">&#x27;2020_08-150&#x27;</span>, <span class="string">&#x27;2020_09-150&#x27;</span>, <span class="string">&#x27;2020_10-150&#x27;</span>, <span class="string">&#x27;2020_11-150&#x27;</span>, <span class="string">&#x27;2020_12-150&#x27;</span>, <span class="string">&#x27;2021_01-150&#x27;</span>, <span class="string">&#x27;2021_02-150&#x27;</span>, <span class="string">&#x27;2021_03-150&#x27;</span>, <span class="string">&#x27;2021_04-150&#x27;</span>, <span class="string">&#x27;2021_05-150&#x27;</span>, <span class="string">&#x27;2021_06-150&#x27;</span>, <span class="string">&#x27;2021_07-150&#x27;</span>, <span class="string">&#x27;2021_08-150&#x27;</span>, <span class="string">&#x27;2021_09-150&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-160&#x27;</span>, <span class="string">&#x27;2020_02-160&#x27;</span>, <span class="string">&#x27;2020_03-160&#x27;</span>, <span class="string">&#x27;2020_04-160&#x27;</span>, <span class="string">&#x27;2020_05-160&#x27;</span>, <span class="string">&#x27;2020_06-160&#x27;</span>, <span class="string">&#x27;2020_07-160&#x27;</span>, <span class="string">&#x27;2020_08-160&#x27;</span>, <span class="string">&#x27;2020_09-160&#x27;</span>, <span class="string">&#x27;2020_10-160&#x27;</span>, <span class="string">&#x27;2020_11-160&#x27;</span>, <span class="string">&#x27;2020_12-160&#x27;</span>, <span class="string">&#x27;2021_01-160&#x27;</span>, <span class="string">&#x27;2021_02-160&#x27;</span>, <span class="string">&#x27;2021_03-160&#x27;</span>, <span class="string">&#x27;2021_04-160&#x27;</span>, <span class="string">&#x27;2021_05-160&#x27;</span>, <span class="string">&#x27;2021_06-160&#x27;</span>, <span class="string">&#x27;2021_07-160&#x27;</span>, <span class="string">&#x27;2021_08-160&#x27;</span>, <span class="string">&#x27;2021_09-160&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-170&#x27;</span>, <span class="string">&#x27;2020_02-170&#x27;</span>, <span class="string">&#x27;2020_03-170&#x27;</span>, <span class="string">&#x27;2020_04-170&#x27;</span>, <span class="string">&#x27;2020_05-170&#x27;</span>, <span class="string">&#x27;2020_06-170&#x27;</span>, <span class="string">&#x27;2020_07-170&#x27;</span>, <span class="string">&#x27;2020_08-170&#x27;</span>, <span class="string">&#x27;2020_09-170&#x27;</span>, <span class="string">&#x27;2020_10-170&#x27;</span>, <span class="string">&#x27;2020_11-170&#x27;</span>, <span class="string">&#x27;2020_12-170&#x27;</span>, <span class="string">&#x27;2021_01-170&#x27;</span>, <span class="string">&#x27;2021_02-170&#x27;</span>, <span class="string">&#x27;2021_03-170&#x27;</span>, <span class="string">&#x27;2021_04-170&#x27;</span>, <span class="string">&#x27;2021_05-170&#x27;</span>, <span class="string">&#x27;2021_06-170&#x27;</span>, <span class="string">&#x27;2021_07-170&#x27;</span>, <span class="string">&#x27;2021_08-170&#x27;</span>, <span class="string">&#x27;2021_09-170&#x27;</span>,</span><br><span class="line">              <span class="string">&#x27;2020_01-180&#x27;</span>, <span class="string">&#x27;2020_02-180&#x27;</span>, <span class="string">&#x27;2020_03-180&#x27;</span>, <span class="string">&#x27;2020_04-180&#x27;</span>, <span class="string">&#x27;2020_05-180&#x27;</span>, <span class="string">&#x27;2020_06-180&#x27;</span>, <span class="string">&#x27;2020_07-180&#x27;</span>, <span class="string">&#x27;2020_08-180&#x27;</span>, <span class="string">&#x27;2020_09-180&#x27;</span>, <span class="string">&#x27;2020_10-180&#x27;</span>, <span class="string">&#x27;2020_11-180&#x27;</span>, <span class="string">&#x27;2020_12-180&#x27;</span>, <span class="string">&#x27;2021_01-180&#x27;</span>, <span class="string">&#x27;2021_02-180&#x27;</span>, <span class="string">&#x27;2021_03-180&#x27;</span>, <span class="string">&#x27;2021_04-180&#x27;</span>, <span class="string">&#x27;2021_05-180&#x27;</span>, <span class="string">&#x27;2021_06-180&#x27;</span>, <span class="string">&#x27;2021_07-180&#x27;</span>, <span class="string">&#x27;2021_08-180&#x27;</span>, <span class="string">&#x27;2021_09-180&#x27;</span>]</span><br><span class="line">    input_directory = <span class="string">&#x27;/Users/leo/Desktop/MarineTechTest8/Results/Img2/&#x27;</span></span><br><span class="line">    output_directory = <span class="string">&#x27;/Users/leo/Desktop/&#x27;</span></span><br><span class="line">    <span class="keyword">if</span> <span class="keyword">not</span> os.path.exists(output_directory):</span><br><span class="line">        os.mkdir(output_directory)</span><br><span class="line">    file_list = os.listdir(input_directory)</span><br><span class="line">    path_list = []</span><br><span class="line">    <span class="built_in">sum</span> = <span class="number">0</span></span><br><span class="line">    <span class="keyword">for</span> k <span class="keyword">in</span> prefix:</span><br><span class="line">        <span class="keyword">for</span> i <span class="keyword">in</span> file_list:</span><br><span class="line">            <span class="keyword">if</span> i.endswith(postfix) <span class="keyword">and</span> i[<span class="number">0</span>:].startswith(k):</span><br><span class="line">                <span class="built_in">sum</span> += <span class="number">1</span></span><br><span class="line">                <span class="built_in">print</span>(<span class="built_in">sum</span>, k, i)</span><br><span class="line">                file_path = input_directory + i</span><br><span class="line">                <span class="comment"># print(file_path)</span></span><br><span class="line">                path_list.append(file_path)</span><br><span class="line"></span><br><span class="line">    <span class="built_in">print</span>(path_list)</span><br><span class="line"></span><br><span class="line">    gif_path = output_directory + postfix1</span><br><span class="line">    duration = <span class="number">0.02</span></span><br><span class="line">    create_gif(path_list, gif_path, duration)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> __name__ == <span class="string">&#x27;__main__&#x27;</span>:</span><br><span class="line">    main()</span><br><span class="line">    vfc = mp.VideoFileClip(<span class="string">&quot;/Users/leo/Desktop/Global_SSS_All1.gif&quot;</span>)</span><br><span class="line">    vfc.write_videofile(<span class="string">&quot;/Users/leo/Desktop/Global_SSS_All1.mp4&quot;</span>)</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<blockquote>
<p>gif动图生成视频文件代码</p>
</blockquote>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> moviepy.editor <span class="keyword">as</span> mp</span><br><span class="line"></span><br><span class="line">vfc = mp.VideoFileClip(<span class="string">&quot;/Users/leo/Desktop/Global_SSS_All.gif&quot;</span>)</span><br><span class="line">vfc.write_videofile(<span class="string">&quot;/Users/leo/Desktop/Global_SSS_All.mp4&quot;</span>)</span><br></pre></td></tr></table></figure>
<h1 id="（三）结果与总结："><a href="#（三）结果与总结：" class="headerlink" title="（三）结果与总结："></a>（三）结果与总结：</h1><h2 id="结果展示"><a href="#结果展示" class="headerlink" title="结果展示"></a>结果展示</h2></li>
</ul>
<p><img src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/2020_03-30.jpg" alt="20203月30日全球SMAP 每月海洋表面盐度（SSS）空间分布图"></p>
<p><img src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/Global_SSS_All2.mp4" alt="2020年1月-2021年9月全球SMAP 每月海洋表面盐度（SSS）时空动态变化图"></p>
<h2 id="结论与分析"><a href="#结论与分析" class="headerlink" title="结论与分析"></a>结论与分析</h2><p>在SMAP的每月海洋表面盐度（SSS）时间空间分布图中，可以看出：</p>
<ul>
<li>从空间上分析，太平洋中南部及大西洋南北半球亚热带地区盐度较大，内陆海，地中海及死海地区普遍具有高盐度区。</li>
<li>从时间上分析，2020年1月-2021年9月的大洋中部表面盐度没有明显的周期性变化，但呈现动态平衡变化。在我国长江黄河入海口沿岸地区，河流流域进入雨季时，河流径流量大，注入海洋的淡水多，盐度降低，河流入海口的等盐度线向远离海岸的方向凸出；河流流域进入旱季时，河流径流量小，注入海洋的淡水少，盐度增加，河流入海口的等盐度线向靠近海岸的方向凸出。</li>
<li>在极地地区，夏季时间海冰温度上升，一方面逐渐溶解为海水，对海水盐度起到了稀释的作用，因此海水盐度下降，另一方面，海洋中在夏季出现“跃层”，海盐被隔绝在海底，海表面盐度下降；冬季海水冷却，一方面凝结成海冰，海水溶液中溶剂–纯水被抽走，无机盐占比增加，海水盐度增大，另一方面海水混合度较高，不易出现分层现象，海洋底部无机盐随着海水上涌，盐度增大。</li>
</ul>
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="mailto:guojiaxiang0820@gmail.com" rel="external nofollow noreferrer">洛沐</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="https://www.guojxblog.cn/archives/b9d5eb5f.html">https://www.guojxblog.cn/archives/b9d5eb5f.html</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" rel="external nofollow noreferrer" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://www.guojxblog.cn" target="_blank">洛沐の人间客栈</a>！</span></div></div><div class="tag_share"><div class="post-meta__tag-list"><a class="post-meta__tags" href="/tags/Python%E5%8D%AB%E6%98%9F%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/">Python卫星数据处理</a></div><div class="post_share"><div class="social-share" data-image="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Smap_SSS/loli.jpg" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share.js/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/social-share.js/dist/js/social-share.min.js" defer></script></div></div><div class="post-reward"><div class="reward-button"><i class="fas fa-qrcode"></i> 打赏</div><div class="reward-main"><ul class="reward-all"><li class="reward-item"><a href="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/wechat.jpeg" rel="external nofollow noreferrer" target="_blank"><img class="post-qr-code-img" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/wechat.jpeg" alt="微信"/></a><div class="post-qr-code-desc">微信</div></li><li class="reward-item"><a href="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/alipay.jpeg" rel="external nofollow noreferrer" target="_blank"><img class="post-qr-code-img" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/alipay.jpeg" alt="支付宝"/></a><div class="post-qr-code-desc">支付宝</div></li></ul></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/archives/6f5df5c1.html"><img class="prev-cover" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/CNN/DNN_top.jpeg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">Tensorflow深度学习——神经网络</div></div></a></div><div class="next-post pull-right"><a href="/archives/92a27152.html"><img class="next-cover" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/GMI_RainRate/smile.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">GMI降雨率数据Hovmoller纬向显示——Python代码实现</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span>相关推荐</span></div><div class="relatedPosts-list"><div><a href="/archives/92a27152.html" title="GMI降雨率数据Hovmoller纬向显示——Python代码实现"><img class="cover" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/GMI_RainRate/smile.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-03-20</div><div class="title">GMI降雨率数据Hovmoller纬向显示——Python代码实现</div></div></a></div><div><a href="/archives/59a3b95f.html" title="Jason-3SSHA数据处理与可视化——Python代码实现"><img class="cover" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/Jason-3SSHA/lulu.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-03-12</div><div class="title">Jason-3SSHA数据处理与可视化——Python代码实现</div></div></a></div><div><a href="/archives/58b02e48.html" title="MODIS L1B数据辐射定标几何校正云掩膜波段合成Python批处理代码实现"><img class="cover" src="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/loading3.gif" data-original="https://luomublog.oss-cn-qingdao.aliyuncs.com/ImgHost/modis_radiometric_geometric_correction/birthday.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-03-10</div><div class="title">MODIS L1B数据辐射定标几何校正云掩膜波段合成Python批处理代码实现</div></div></a></div></div></div><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div id="lv-container" data-id="city" data-uid="MTAyMC81NjIzOS8zMjcwMg=="></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content is-expand"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E4%BB%8B%E7%BB%8D%EF%BC%9ASMAP-%E6%B5%B7%E6%B4%8B%E8%A1%A8%E9%9D%A2%E7%9B%90%E5%BA%A6%EF%BC%88SSS%EF%BC%89%E6%95%B0%E6%8D%AE"><span class="toc-number">1.</span> <span class="toc-text">数据介绍：SMAP 海洋表面盐度（SSS）数据</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%BD%A8%E9%81%93%E8%AE%BE%E8%AE%A1%EF%BC%9A"><span class="toc-number">1.1.</span> <span class="toc-text">轨道设计：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%9B%B8%E5%90%8C%E7%9A%84%E8%BE%90%E5%B0%84%E8%AE%A1%EF%BC%9A"><span class="toc-number">1.2.</span> <span class="toc-text">相同的辐射计：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%BF%AB%E9%80%9F%E9%87%87%E6%A0%B7%EF%BC%9A"><span class="toc-number">1.3.</span> <span class="toc-text">快速采样：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9E%81%E5%8C%96%E6%B5%8B%E9%87%8F%EF%BC%9A"><span class="toc-number">1.4.</span> <span class="toc-text">极化测量：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%B5%B7%E6%B4%8B%E7%B2%97%E7%B3%99%E5%BA%A6%E6%A0%A1%E6%AD%A3%EF%BC%9A"><span class="toc-number">1.5.</span> <span class="toc-text">海洋粗糙度校正：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%A4%84%E7%90%86%E6%AD%A5%E9%AA%A4%EF%BC%9A"><span class="toc-number">1.6.</span> <span class="toc-text">处理步骤：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%94%B9%E8%BF%9B%E7%9A%84%E5%9C%B0%E7%90%86%E6%A0%A1%E6%AD%A3%EF%BC%9A"><span class="toc-number">1.7.</span> <span class="toc-text">改进的地理校正：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84%E6%B5%B7%E5%86%B0%E6%8E%A9%E8%86%9C%E5%92%8C%E6%A0%87%E5%BF%97%EF%BC%9A"><span class="toc-number">1.8.</span> <span class="toc-text">修改后的海冰掩膜和标志：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BB%8F%E9%AA%8C%E4%B8%8D%E7%A1%AE%E5%AE%9A%E6%80%A7%E4%BC%B0%E8%AE%A1%EF%BC%9A"><span class="toc-number">1.9.</span> <span class="toc-text">经验不确定性估计：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%EF%BC%9A"><span class="toc-number">1.10.</span> <span class="toc-text">参考文献：</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#Python%E4%BB%A3%E7%A0%81%E4%B8%8E%E6%B3%A8%E9%87%8A%E8%AF%A6%E8%A7%A3%EF%BC%9A"><span class="toc-number">2.</span> <span class="toc-text">Python代码与注释详解：</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%EF%BC%88%E4%B8%89%EF%BC%89%E7%BB%93%E6%9E%9C%E4%B8%8E%E6%80%BB%E7%BB%93%EF%BC%9A"><span class="toc-number">3.</span> <span class="toc-text">（三）结果与总结：</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BB%93%E6%9E%9C%E5%B1%95%E7%A4%BA"><span class="toc-number">3.1.</span> <span class="toc-text">结果展示</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BB%93%E8%AE%BA%E4%B8%8E%E5%88%86%E6%9E%90"><span class="toc-number">3.2.</span> <span class="toc-text">结论与分析</span></a></li></ol></li></ol></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2021 - 2023  <i id="heartbeat" class="fa fas fa-heartbeat"></i> 洛沐</div><div class="footer_custom_text">谢谢你来看<a href="https://www.guojxblog.cn/" style='color:red;Font-size:36'>我</a>，你今天真好看😘</div></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/HCLonely/images@master/others/heartbeat.min.css"></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="translateLink" type="button" title="简繁转换">簡</button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">本地搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span>  数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.autoSpacingPage()
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.autoSpacingPage()
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>function loadLivere () {
  if (typeof LivereTower === 'object') {
    window.LivereTower.init()
  }
  else {
    (function(d, s) {
        var j, e = d.getElementsByTagName(s)[0];
        if (typeof LivereTower === 'function') { return; }
        j = d.createElement(s);
        j.src = 'https://cdn-city.livere.com/js/embed.dist.js';
        j.async = true;
        e.parentNode.insertBefore(j, e);
    })(document, 'script');
  }
}

if ('Livere' === 'Livere' || !true) {
  if (true) btf.loadComment(document.getElementById('lv-container'), loadLivere)
  else loadLivere()
}
else {
  function loadOtherComment () {
    loadLivere()
  }
}</script></div><script src="/js/mobile_side.js"></script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/click-heart.min.js" async="async" mobile="true"></script><div class="pjax-reload"><script async="async">var arr = document.getElementsByClassName('recent-post-item');
for(var i = 0;i<arr.length;i++){
    arr[i].classList.add('wow');
    arr[i].classList.add('animate__zoomIn');
    arr[i].setAttribute('data-wow-duration', '1s');
    arr[i].setAttribute('data-wow-delay', '700ms');
    arr[i].setAttribute('data-wow-offset', '100');
    arr[i].setAttribute('data-wow-iteration', '1');
}</script><script async="async">var arr = document.getElementsByClassName('card-widget');
for(var i = 0;i<arr.length;i++){
    arr[i].classList.add('wow');
    arr[i].classList.add('animate__zoomIn');
    arr[i].setAttribute('data-wow-duration', '');
    arr[i].setAttribute('data-wow-delay', '');
    arr[i].setAttribute('data-wow-offset', '');
    arr[i].setAttribute('data-wow-iteration', '');
}</script></div><script defer="defer" src="https://cdn.jsdelivr.net/gh/graingert/wow@1.3.0/dist/wow.min.js"></script><script defer="defer" src="/js/wow_init.js"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div><script>
            window.imageLazyLoadSetting = {
                isSPA: true,
                preloadRatio: 3,
                processImages: null,
            };
        </script><script>window.addEventListener("load",function(){var t=/\.(gif|jpg|jpeg|tiff|png)$/i,r=/^data:image\/[a-z]+;base64,/;Array.prototype.slice.call(document.querySelectorAll("img[data-original]")).forEach(function(a){var e=a.parentNode;"A"===e.tagName&&(e.href.match(t)||e.href.match(r))&&(e.href=a.dataset.original)})});</script><script>!function(n){n.imageLazyLoadSetting.processImages=o;var e=n.imageLazyLoadSetting.isSPA,i=n.imageLazyLoadSetting.preloadRatio||1,r=Array.prototype.slice.call(document.querySelectorAll("img[data-original]"));function o(){e&&(r=Array.prototype.slice.call(document.querySelectorAll("img[data-original]")));for(var t,a=0;a<r.length;a++)0<=(t=(t=r[a]).getBoundingClientRect()).bottom&&0<=t.left&&t.top<=(n.innerHeight*i||document.documentElement.clientHeight*i)&&function(){var t,e,n,i,o=r[a];t=o,e=function(){r=r.filter(function(t){return o!==t})},n=new Image,i=t.getAttribute("data-original"),n.onload=function(){t.src=i,e&&e()},t.src!==i&&(n.src=i)}()}o(),n.addEventListener("scroll",function(){var t,e;t=o,e=n,clearTimeout(t.tId),t.tId=setTimeout(function(){t.call(e)},500)})}(this);</script><script async>window.onload=function(){var a=document.createElement('script'),b=document.getElementsByTagName('script')[0];a.type='text/javascript',a.async=!0,a.src='/sw-register.js?v='+Date.now(),b.parentNode.insertBefore(a,b)};</script></body></html>